import axios from 'axios'

const api = {
  production: 'http://124.220.185.186:8916',
  development: 'http://124.220.185.186:8916'
}

const BASE_API = api[process.env.VUE_APP_NODE_ENV]

const request = axios.create({
  // 基础地址，对于非 http 和非 https 开头的请求都会在前面拼接上这个地址
  baseURL: BASE_API,
  // 超时时间，超过这个时间没有收到服务器的回复就会报错，单位是毫秒
  timeout: 20000,
  // 请求方式，默认是get，可以在这里设置默认方式为其他请求方式
  method: 'post',
  // 请求头配置
  headers: {}
})

request.defaults.withCredentials = true

// 请求拦截器设置
request.interceptors.request.use(
  (config) => {
    if (config.url !== '/login') {
      config.headers.Cookie = sessionStorage.getItem('Cookie')
    }
    console.log(sessionStorage)
    return config
  },
  (error) => {
    // return Promise.reject(error)
    return error
  }
)

// 响应拦截器设置
request.interceptors.response.use(
  (res) => {
    const code = res.data.code
    if (code === 200) {
      return res.data.data
    } else if (code === 401) {
      // eslint-disable-next-line no-undef
      // router.push('/login')
      console.log('/login')
    } else {
      return res.data
    }
  },
  (error) => {
    return Promise.reject(error)
  }
)

export default request
